PROFDINFO.COM

Votre enseignant d'informatique en ligne

Section 1

Premiers pas concrets dans PowerShell

Retour à la page du cours

L'installation

Si vous êtes un utilisateur de Windows 7, vous possédez déjà la version 2.0 de PowerShell.

Si vous utilisez Windows 2008, vous pouvez installer PowerShell 1.0 à partir du CD d'installation de Windows 2008 (si ce n'est déjà fait) ou télécharger la version 2.0 pour service pack 1 ou 2.

Si vous avez Windows Vista Business, Enterprise ou Ultimate, vous pouvez télécharger la version 1.0. Vous pouvez également télécharger la version 2.0 pour n'importe quelle édition de Vista, pour service pack 1 ou 2, sous forme de mise à jour du système.

Si vous avez Windows 2003, vous pouvez télécharger PowerShell 1.0. Si vous avez le service pack 2, vous pouvez télécharger la version 2.0.

Si vous avez Windows XP, vous pouvez télécharger PowerShell 1.0 à partir du service pack 2 et la version 2.0 à partir du service pack 3.

Si vous avez une autre version de Windows, bienvenue au 21e siècle. Si vous utilisez Linux, vous n'êtes pas dans le bon cours - on couvrira les scripts Linux en session 4!

Dans notre laboratoire

Comme nous travaillons au P-113, sur des PC équipés de Windows XP sur lesquels nous n'avons pas les droits d'administrateur, nous allons donc nous créer une machine virtuelle pour y installer PowerShell.

Vous disposez d'une image du CD d'installation de Windows XP (quelque part sur le disque C:) pour votre machine virtuelle. Il n'est pas du tout certain que cette image contienne le service pack 3 et si ce n'est pas le cas, son installation sera complexifiée par le fait que nous ne pourrons pas enregistrer cette version (on fonctionnera avec le démo de 60 jours qui couvre amplement notre session). Si tel est le cas, il sera donc plus simple d'installer PowerShell 1.0 - comme nous n'irons pas en profondeur dans ses fonctionnalités avec notre maigre 45 heures, vous ne verez de toute façon pas la différence.

L'environnement PowerShell

PowerShell s'ouvre comme une fenêtre console très similaire à la console cmd.exe, mais plus large, bleue et avec des caractères blancs.

PowerShell

Un prompt (invite de commande) vous est affiché. Cette invite est composée des lettres "PS", du chemin du répertoire courant (vous devriez avoir déjà constaté que ce n'est pas toujours un répertoire réel), puis du symbole ">". Vous pouvez y taper des commandes (vous devriez déjà connaître get-help, get-command et get-service, entre autres) et l'interface réagit en les exécutant et en vous affichant le résultat. Gardez en mémoire qu'en fait, le résultat de ces commandes n'est pas du texte, mais un objet contenant du texte, qui est formaté par défaut puis affiché. Il est possible, on le verra, de modifier ce formatage.

Les scripts

Pour exécuter un script, il suffit d'en créer un dans un bête fichier texte et de changer son extension en .ps1. Vous pourrez ensuite l'exécuter dans PowerShell en l'appelant par son nom. (Notez que si vous disposez de PowerShell 2.0, vous pouvez démarrer le PowerShell ISE (Integrated Scripting Environment) qui vous permet d'éditer un script et de le tester directement.)

Il faut savoir deux choses importantes pour exécuter nos scripts:

  1. PowerShell ne vérifie jamais dans le répertoire courant si un script est présent lorsque l'on tente de l'exécuter. Vous devrez donc toujours taper un chemin complet. Toutefois, les chemins relatifs sont permis alors on peut faire quelque chose comme: .\test.ps1
  2. Par défaut, PowerShell ne permet pas l'exécution de scripts, par mesure de sécurité. Tout dépend de votre execution policy (politique d'exécution).
    1. get-executionpolicy permet de vérifier laquelle vous avez ("Restricted" par défaut).
    2. set-executionpolicy suivi d'un paramètre permet de la modifier (les choix possibles sont "Restricted", "AllSigned", "RemoteSigned" et "Unrestricted"
      1. Attention! Si vous utilisez Vista ou 7, vous devrez démarrer PowerShell en tant qu'administrateur pour que set-executionpolicy puisse fonctionner!

Les variables

Lecture et écriture à la console

La console s'appelle "Host" et les fonctions/applets de commande suivants existent:

Les alternatives

Les répétitives